000000000040145c <read_six_numbers>:
  40145c:	48 83 ec 18          	sub    $0x18,%rsp         ; 函数开始，调整栈指针，为局部变量分配空间（24字节）
  401460:	48 89 f2             	mov    %rsi,%rdx         ; 将 rsi 寄存器的值（函数参数）保存到 rdx 寄存器中
  401463:	48 8d 4e 04          	lea    0x4(%rsi),%rcx   ; 计算 rsi + 4 的地址，保存到 rcx 中
  401467:	48 8d 46 14          	lea    0x14(%rsi),%rax  ; 计算 rsi + 20 的地址，保存到 rax 中
  40146b:	48 89 44 24 08       	mov    %rax,0x8(%rsp)    ; 将 rax 的值存入栈中的偏移地址 0x8
  401470:	48 8d 46 10          	lea    0x10(%rsi),%rax  ; 计算 rsi + 16 的地址，保存到 rax 中
  401474:	48 89 04 24          	mov    %rax,(%rsp)       ; 将 rax 的值存入栈中的偏移地址 0x0
  401478:	4c 8d 4e 0c          	lea    0xc(%rsi),%r9    ; 计算 rsi + 12 的地址，保存到 r9 中
  40147c:	4c 8d 46 08          	mov    $0x4025c3,%esi   ; 将常量 0x4025c3 加载到 esi 寄存器中（可能是格式化字符串的地址）
  401485:	b8 00 00 00 00       	mov    $0x0,%eax        ; 清空 eax 寄存器，为接下来的调用准备（初始化返回值）
  40148a:	e8 61 f7 ff ff       	lea    0x8(%rsi),%r8    ; 计算 rsi + 8 的地址，保存到 r8 中
  401480:	be c3 25 40 00       	callq  400bf0 <__isoc99_sscanf@plt>  ; 调用 sscanf 函数来读取输入数据
  40148f:	83 f8 05             	cmp    $0x5,%eax        ; 比较 eax 与 5，检查 sscanf 是否成功读取了 6 个数字
  401492:	7f 05                	jg     401499 <read_six_numbers+0x3d>  ; 如果 eax > 5，跳转到 401499（表示读取成功）
  401494:	e8 a1 ff ff ff       	callq  40143a <explode_bomb>  ; 如果没有读取到 6 个数字，调用 explode_bomb（触发炸弹）
  401499:	48 83 c4 18          	add    $0x18,%rsp        ; 调整栈指针，清理局部变量空间（恢复栈）
  40149d:	c3                   	retq                    ; 返回，函数执行结束
